#pragma once

#include "builder.h"

class ConcreteBuilderA : public Builder
{
public:
  ConcreteBuilderA() = default;
  ~ConcreteBuilderA() = default;
  void buildPartA() override;
  void buildPartB() override;
};

using ConcreteBuilderAPtr = std::shared_ptr<ConcreteBuilderA>;

void ConcreteBuilderA::buildPartA() {
  product_->addPart("11");
}

void ConcreteBuilderA::buildPartB() {
  product_->addPart("22");
}
